Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Rolex Paris Masters - Paris Rio Open - Rio de Janeiro French Open - Paris Shanghai Rolex Masters - Shanghai Lyon Challenger Movistar Chile Open - Santiago Argentina Open - Buenos Aires Murcia Challenger Tiriac Open - Bucharest Mutua Madrid Open - Madrid Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome Shanghai Rolex Masters - Shanghai Rolex Paris Masters - Paris Serbia F6 Serbia F3 Serbia F4 Serbia F9 Serbia F12 Serbia F14 Croatia F1 Croatia F2 Italy F6 Serbia F4 Serbia F5 Serbia F6 Serbia F11 Israel F15 Cyprus F1 Cyprus F2 Cyprus F3 Egypt F2 Egypt F3 Croatia F2 Turkey F6 Croatia F6 Croatia F7 Croatia F8 Bosnia & Herzegovina F2 Hungary F1 Hungary F3 Serbia F5 Serbia F8 Serbia F11 Serbia F13 Serbia F14 Turkey F7 Israel F14 Romania F10 Kazakhstan F13 Romania F1 Cyprus F2 Cyprus F3 Senegal F1 Senegal F2 Egypt F3 Croatia F5 France F13 Tunisia F6 Tunisia F7 France F13 France F14 Spain F38 Spain F39 France F3 (Veigy-Foncenex) Croatia F4 (Opatija) France F8 (La Grande Motte) France F14 (Bourg-en-Bresse) Belgium F7 (Brussels) Switzerland F3 (Collonge-Bellerive) France F19 (Mulhouse) France F22 (Nevers) France F23 (Saint-Dizier) France F24 (Rodez) Israel F16 (Ramat Hasharon) Israel F17 (Tiberias) Israel F18 (Sajur) France F2 (Bressuire) France F3 (Veigy-Foncenex) Turkey F6 (Antalya) Turkey F7 (Antalya) Israel F1 (Ramat Gan) Israel F2 (Ramat Hasharon) France F7 (La Grande Motte) France F8 (Angers) France F9 (Grasse) France F11 (Montauban) France F12 (Bourg-en-Bresse) Italy F18 (Casinalbo) France F15 (Troyes) France F20 (Nevers) France F21 (Saint-Dizier) France F22 (Rodez) Tunisia F44 (Monastir) Tunisia F45 (Monastir) M15+H Bressuire M15 Veigy-Foncenex M15 Grenoble M15 Toulouse M15 Poitiers M15 Quinta Do Lago M15 Tel Aviv M15 Tabarka M15 Las Palmas De Gran Canaria M15 Netanya M25 Montauban M25 Bourg-En-Bresse M25+H Ajaccio M15 Uriage M15 Brussels M15 Koksijde M25+H Mulhouse M25+H Nevers M25+H Rodez M15 Villers Les Nancy M15 Sarreguemines M15 Monastir M15 Manacor M15+H Bressuire M15 Forbach M15 Veigy-Foncenex M15 Grenoble M15 Monastir M25+H Plaisir M15 Forbach M25+H Rodez M15 Sarreguemines M25 Villena M15 Grenoble M25 Vale do Lobo M25 Faro M25 Vale do Lobo M15 Poitiers M15 Sibenik M15 Heraklion M15 Heraklion M25 Grasse M25 Klosters M25 Bourg-en-Bresse M15 Almada M15 Xativa M15 Monastir M15 Monastir M15 Monastir M25 Toulouse M15 Monastir M15 Monastir M15 Monastir M15 Grenoble M25 Toulouse-Balma M25 Montauban M25 Monastir M15 Monastir M25 Manacor Croatia F6 M25 Grasse M25 Bourg-en-Bresse M25 Uriage M25 Reus M25 Angers M25 Split M25 Valldoreix M25 Uriage M15 Manacor M25 Uriage M25 Monastir M25 Monastir Banja Luka Challenger Ostrava Challenger Vicenza Challenger M25 Monastir M25 Monastir Wroclaw Challenger Prostejov Challenger Milan Challenger Portoroz Challenger Puebla Challenger San Luis Potosi Challenger Marburg Challenger Heilbronn Challenger Casablanca Challenger M25 Angers Budapest Challenger M25 Sabadell Heilbronn Challenger Vicenza Challenger Poprad Tatry Challenger Perugia Challenger San Benedetto Challenger Canberra Challenger Punta Del Este Challenger Rome Challenger Prostejov Challenger Milan Challenger Ilkley Challenger Happy Valley Challenger M25 Bourg-en-Bresse Guadalajara Challenger Liberec Challenger Cortina Challenger Bad Waltersdorf Challenger St. Tropez Challenger St. Tropez Challenger Trnava Challenger Casablanca Challenger Mouilleron-Le-Captif Challenger Roseto Degli Abruzzi 2 Challenger Raanana Challenger Ostrava Challenger Sibiu Challenger Todi Challenger Happy Valley Challenger Caltanissetta Challenger Banja Luka Challenger Casablanca Challenger Ortisei Challenger Turin Challenger Almaty Challenger Perugia Challenger Milan Challenger Bordeaux Challenger Genova Challenger Banja Luka Challenger Rome Challenger Prostejov Challenger Mohammedia Challenger Troisdorf Challenger Lyon Challenger Quimper Challenger Bergamo Challenger Shenzhen Challenger Sophia Antipolis Challenger Cordenons Challenger Caltanissetta Challenger Helsinki Challenger Malaga Challenger Cordenons Challenger Genova Challenger Oeiras 3 Challenger Brest Challenger Verona Challenger Santo Domingo Challenger Aix En Provence Challenger Quimper Challenger Vicenza Challenger San Marino Challenger Bratislava 2 Challenger Zug Challenger Brest Challenger Toulouse Challenger Braga Challenger Orleans Challenger St. Tropez Challenger Roanne Challenger Pau Challenger Zadar Challenger Rome Challenger Cagliari Challenger Bergamo Challenger Quimper Challenger Lugano Challenger Murcia Challenger Koblenz Challenger Aix En Provence Challenger Girona Challenger Trieste Challenger Ostrava Challenger Lyon Challenger San Benedetto Challenger Shenzhen Challenger Bratislava 2 Challenger Pune Challenger Bengaluru Challenger St. Tropez Challenger Vegeta Croatia Open - Umag Hungarian Open - Budapest Kremlin Cup - Moscow TEB BNP Paribas Istanbul Open - Istanbul Rome Challenger Winston-Salem Open - Winston-Salem ASB Classic - Auckland Nature Valley International - Eastbourne Forte Village Sardegna Open - Sardinia Kremlin Cup - Moscow Sardegna Open - Cagliari Astana Open - Nur-Sultan Adelaide International 1 - Adelaide Winston-Salem Open - Winston-Salem Swiss Indoors Basel - Basel Rio Open - Rio de Janeiro Banja Luka Open - Banja Luka Hamburg European Open - Hamburg Open 13 Provence - Marseille Open Parc - Lyon Plava Laguna Croatia Open - Umag Swiss Indoors Basel - Basel Tata Open Maharashtra - Pune DIEMA XTRA Sofia Open - Sofia Rio Open - Rio de Janeiro Plava Laguna Croatia Open - Umag German Tennis Championships - Hamburg cinch Championships - London Adelaide International - Adelaide Argentina Open - Buenos Aires Astana Open - Astana Noumea Challenger Chile Dove Men+Care Open - Santiago Sofia Open - Sofia Generali Open - Kitzbuhel Caltanissetta Challenger Moselle Open - Metz Hong Kong Tennis Open - Hong Kong Belgrade Open - Belgrade Open Sud de France - Montpellier Hamburg Open - Hamburg Moselle Open - Metz Almaty Open - Almaty Hellenic Championship - Athens Mallorca Championships - Mallorca Libema Open - 's-Hertogenbosch Samarkand Challenger Moscow Challenger Sibiu Challenger Mohammedia Challenger Brescia Challenger Chennai Challenger PTT Thailand Open - Bangkok Bastad Challenger Mauthausen Challenger Trieste Challenger Cassis Challenger Budapest Challenger Ortisei Challenger Koblenz Challenger Barletta Challenger Dubai Duty Free Tennis Championships - Dubai BRD Nastase Tiriac Trophy - Bucharest Lyon Challenger Sibiu Challenger Credit Agricole Suisse Open - Gstaad Eckental Challenger Marbella Challenger Alicante Challenger Terra Wortmann Open - Halle Mouilleron-Le-Captif Challenger Grand Prix Hassan II - Marrakech TEB BNP Paribas Istanbul Open - Istanbul Genova Challenger Argentina Open - Buenos Aires Parma Challenger Grodzisk Mazowiecki Challenger Mallorca Challenger Gazprom Hungarian Open - Budapest Cassis Challenger Winston-Salem Open - Winston-Salem Swiss Indoors Basel - Basel Qatar ExxonMobil Open - Doha Cordoba Open - Cordoba Generali Open - Kitzbuhel Noventi Open - Halle Libema Open - 's-Hertogenbosch Nordea Open - Bastad Argentina Open - Buenos Aires Serbia Open - Belgrade Hamburg European Open - Hamburg Swiss Open - Gstaad Oeiras 4 Challenger Lugano Challenger Rio Open - Rio de Janeiro Open 13 Provence - Marseille Abierto Mexicano Telcel - Acapulco Zagreb Challenger Blois Challenger Grand Prix Hassan II - Marrakech Serbia Open - Belgrade Open Parc - Lyon Mallorca Championships - Mallorca Hamburg European Open - Hamburg Nottingham 2 Challenger Plava Laguna Croatia Open - Umag Moselle Open - Metz Astana Open - Astana Gonet Geneva Open - Geneva Tennis Napoli Open - Naples ASB Classic - Auckland Olbia Challenger Chile Dove Men+Care Open - Santiago St. Petersburg Open - St. Petersburg Terra Wortmann Open - Halle Stockholm Open - Stockholm Barcelona Open Banc Sabadell - Barcelona Tata Open Maharashtra - Pune Argentina Open - Buenos Aires BNP Paribas Nordic Open - Stockholm Perugia Challenger Plava Laguna Croatia Open - Umag Lyon Challenger Valencia Open - Valencia Garanti Koza Sofia Open - Sofia Naples Challenger Maharashtra Open - Pune Jinan Challenger Swiss Open - Gstaad Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Noventi Open - Halle Zhuhai Challenger Sanremo Challenger Grand Prix Hassan II - Marrakech Zug Challenger Generali Open - Kitzbuhel Lyon Challenger Rolex Paris Masters - Paris Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome Internazionali BNL d'Italia - Rome Seville Challenger Cary Challenger Amersfoort Challenger Brest Challenger Argentina Open - Buenos Aires Antalya Open - Antalya Great Ocean Road Open - Melbourne EFG Swiss Open - Gstaad Brisbane International - Brisbane Hong Kong Tennis Open - Hong Kong BNP Paribas Masters - Paris Abierto Mexicano Telcel - Acapulco BNP Paribas Open - Indian Wells Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Monte-Carlo Rolex Masters - Monte-Carlo Coupe Rogers - Montreal Western & Southern Open - Cincinnati BNP Paribas Masters - Paris Generali Open - Kitzbuhel Western & Southern Open - New York Rolex Paris Masters - Paris U.S. Open - New York BNP Paribas Open - Indian Wells Rothesay International - Eastbourne Miami Open - Miami Open Parc - Lyon Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Western & Southern Open - Cincinnati French Open - Paris BNP Paribas Open - Indian Wells Moselle Open - Metz French Open - Paris Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Winston-Salem Open - Winston-Salem French Open - Paris Miami Open - Miami BNP Paribas Open - Indian Wells U.S. Open - New York Monte-Carlo Rolex Masters - Monte-Carlo Western & Southern Open - Cincinnati Rolex Paris Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Mutua Madrid Open - Madrid National Bank Open - Toronto Miami Open - Miami Banja Luka Challenger Tel Aviv Watergen Open - Tel Aviv Garanti Koza Sofia Open - Sofia Generali Open - Kitzbuhel Kremlin Cup - Moscow Davis Cup, Group B, Valencia Australian Open - Melbourne French Open (juniors) French Open - Paris Australian Open (juniors) French Open (juniors) Wimbledon (juniors) All Lower level tournaments U.S. Open - New York Australian Open - Melbourne Wimbledon - London U.S. Open - New York Australian Open - Melbourne Internazionali BNL d'Italia - Rome Wimbledon - London Shanghai Rolex Masters - Shanghai French Open - Paris Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Australian Open - Melbourne U.S. Open - New York French Open - Paris U.S. Open - New York Australian Open - Melbourne Wimbledon - London U.S. Open - New York Australian Open - Melbourne Wimbledon - London French Open - Paris Australian Open - Melbourne Wimbledon - London U.S. Open - New York Wimbledon - London Davis Cup, Group C, Valencia Davis Cup, World Group, SF, FRA-SRB 3-1 Davis Cup, World Group, Q, SRB-SVK 0-4 Davis Cup, World Group, PO, SRB-IND 4-0 Hangzhou Challenger Davis Cup, World Group, 1R, SRB-USA 1-3 Davis Cup, World Group, PO, NOR-SRB 0-4 Monte-Carlo Rolex Masters - Monte-Carlo EFG Swiss Open - Gstaad